Information processing device, information processing method, and program

ABSTRACT

There is provided an information processing device including a selection unit configured to, on the basis of first identification information included in a processing instruction and corresponding to a service, and first association information in which the first identification information is associated with second identification information for identifying an application, select an application to perform the service corresponding to the processing instruction, and an execution unit configured to cause the selected application to perform a process in accordance with the processing instruction.

BACKGROUND

The present disclosure relates to an information processing device, aninformation processing method, and a program.

In recent years, an information processing device capable of performingcontactless communication with a reader/writer (or an informationprocessing device having reader/writer functions, hereinafter the same),such as a contactless IC (Integrated Circuit) card or a portable phonehaving a contactless IC chip mounted thereon, for example, has come intowidespread use. The reader/writer and the information processing devicesuch as an IC card or a portable phone use a magnetic field (carrierwave) with a predetermined frequency such as 13.56 MHz, for example, forcommunication. Specifically, the reader/writer and the informationprocessing device such as an IC card communicate with each other in sucha way that the reader/writer transmits a carrier wave having a carriersignal superimposed thereon, and the information processing device,which has received the carrier wave using an antenna, returns a responsesignal in response to the received carrier signal through loadmodulation.

Herein, examples of NFC (Near Field Communication) in whichcommunication is performed using a carrier wave with a predeterminedfrequency such as 13.56 MHz as described above include variouscommunication methods such as “ISO/IEC 18092 Type F,” “ISO/IEC 14443Type A,” and “ISO/IEC 14443 Type B.” In addition, examples of theinformation processing device include a device that supports a pluralityof communication methods or communication standards by having anoperating system (hereinafter also referred to as an “OS”) supportingeach communication method, like a dual card, for example.

Against such a background, there has been developed a technology forperforming a process, which supports each of a plurality ofcommunication methods or standards, normally. For example, as atechnology that can perform a process supporting the structure of areceived message even when the structure of a message when contactcommunication is performed with an external device and the structure ofa message when contactless communication is performed with an externaldevice differ, there is known a technology disclosed in JP 2005-242445A,for example. In addition, as a technology for causing an application,which simulates an OS run on an execution environment different fromusual, to execute an instruction from an external device withoutchanging the specifications of the instruction from the external device,there is known a technology disclosed in JP 2011-118837A, for example.

SUMMARY

As a method of making an information processing device support aplurality of communication methods or communication standards, there isknown a method in which, like a dual card, for example, an informationprocessing device has a plurality of OSs such as a “FeliCa® OS” and a“Java Card™ OS” (for example, a configuration corresponding to FIG. 1Adescribed below). However, when such a method is used, a plurality ofOSs should be mounted on the information processing device.

Meanwhile, as another method of making an information processing devicesupport a plurality of communication methods or communication standards,for example, a method is considered in which the information processingdevice has a single OS, and the function of another OS, which supports acommunication standard other than the communication standard supportedby the former OS, is mounted as an application (e.g., a configurationcorresponding to FIG. 1B described below). Herein, in order to implementa communication system in which an information processing device thatuses the aforementioned method performs contactless communication with areader/writer (an example of an external device, hereinafter the same),it would be desirable that the reader/writer of the communication systemhave the same function and configuration as the reader/writer of theexisting communication system. This is because, readers/writers thatallow NFC communication are widely spread in the society, and it is thusnot easy to replace such widely spread readers/writers with new ones.

Herein, in the technology disclosed in JP 2005-242445A, for example, aprocessing instruction contained in a received message is determinedfirst, and then the received processing instruction is, on the basis ofthe determination result, relayed to a processing unit capable ofprocessing the processing instruction, so that the received processinginstruction is executed. However, when the technology disclosed in JP2005-242445A is used, a device that transmits a message such as areader/writer, for example, should transmit a special message (e.g., anAPDU (Application-layer Protocol Data Unit) command). Accordingly, whenthe technology disclosed in 2005-242445A is used, for example, areader/writer (a device that transmits a message) of the existingcommunication system should be replaced with a new one.

Meanwhile, in the technology disclosed in JP 2011-118837A, for example,an information processing device causes, on the basis of whether or notan initially received processing instruction (when startingcommunication) is a polling command (an example of a processinginstruction), an application, which is executed on an OS and whichimplements the function of another OS, to perform a processcorresponding to the received processing instruction. Accordingly, whenthe technology disclosed in JP 2011-118837A, for example, is used, itmay become possible to implement a communication system in which aninformation processing device that uses the aforementioned methodperforms contactless communication with a reader/writer, withoutreplacing the reader/writer of the existing communication system with anew one.

However, a processing instruction initially received (when startingcommunication) by the information processing device is not limited to apolling command. For example, when the communication between thereader/writer and the information processing device is interrupted forsome reason, there is a possibility that the reader/writer may resumethe communication from the stage interrupted last time withoutre-transmitting a polling command. When the reader/writer resumes thecommunication from the stage interrupted last time as described above, aprocessing instruction received first (when starting communication) bythe information processing device will not be a polling command.Accordingly, even when the technology disclosed in JP 2011-118837A isused, it is not always the case that an information processing device towhich the technology disclosed in JP 2011-118837A is applied, forexample, is able to cause an application, which is executed on an OS andwhich implements the function of another OS, to process the receivedprocessing instruction.

The present disclosure proposes an information processing device, aninformation processing method, and a program that are novel andimproved, and that can cause an application, which is capable ofprocessing a processing instruction of a different communication methodfrom a communication method supported by an operating system, to performa process corresponding to a processing instruction received from anexternal device.

According to the present disclosure, there is provided an informationprocessing device including a selection unit configured to, on the basisof first identification information included in a processing instructionand corresponding to a service, and first association information inwhich the first identification information is associated with secondidentification information for identifying an application, select anapplication to perform the service corresponding to the processinginstruction, and an execution unit configured to cause the selectedapplication to perform a process in accordance with the processinginstruction.

According to the present disclosure, there is provided an informationprocessing method including selecting, on the basis of firstidentification information included in a processing instruction andcorresponding to a service, and first association information in whichthe first identification information is associated with secondidentification information for identifying an application, anapplication to perform the service corresponding to the processinginstruction, and causing the selected application to perform a processin accordance with the processing instruction.

According to the present disclosure, there is provided program forcausing a computer to execute selecting, on the basis of firstidentification information included in a processing instruction andcorresponding to a service, and first association information in whichthe first identification information is associated with secondidentification information for identifying an application, anapplication to perform the service corresponding to the processinginstruction, and causing the selected application to perform a processin accordance with the processing instruction.

According to the present disclosure, it is possible to cause anapplication, which is capable of processing a processing instruction ofa different communication method from a communication method supportedby an operating system, to perform a process corresponding to aprocessing instruction received from an external device.

According to the present disclosure, there is provided an informationprocessing device including:

a selection unit configured to, on the basis of first identificationinformation included in a processing instruction and corresponding to aservice, and first association information in which the firstidentification information is associated with second identificationinformation for identifying an application, select an application toperform the service corresponding to the processing instruction; and

an execution unit configured to cause the selected application toperform a process in accordance with the processing instruction.

The information processing device, further including:

a communication unit configured to perform contactless communicationwith an external device; and

a determination unit configured to determine the received processinginstruction, wherein

the determination unit:

determines if the received processing instruction includes service typeinformation indicating a type of the service, and

if the received processing instruction includes the service typeinformation, causes the communication unit to return a reply includingthe first identification information corresponding to the service typeinformation included in the processing instruction on the basis of theservice type information included in the processing instruction andsecond association information in which the service type information isassociated with the first identification information.

The information processing device, wherein

when the selection unit has selected an application corresponding to theprocessing instruction, the selection unit maintains a state in whichthe selected application is selected,

the execution unit, when the selected application is not an applicationcorresponding to the processing instruction, transmits a selectionrequest to the selection unit to re-select an application correspondingto the processing instruction, and

the selection unit, when the selection request is transmitted,re-selects an application corresponding to the processing instruction onthe basis of the first identification information included in theprocessing instruction and the first association information.

The information processing device, wherein

the selection request includes second identification informationindicating the selected application, and

the selection unit selects, as an application to be selected, anapplication indicated by second identification information thatsatisfies a predetermined condition in relation to the secondidentification information included in the selection request, amongsecond identification information included in the first associationinformation

The information processing device, wherein the selection request is thefirst identification information included in the processing instruction.

The information processing device, wherein

the execution unit, when the selected application is not an applicationcorresponding to the processing instruction:

determines if an application related to the selected application is ableto perform a process in accordance with the processing instruction, and

causes the application determined to be able to perform a process inaccordance with the processing instruction to perform the process inaccordance with the processing instruction.

The information processing device, wherein the information processingdevice is a portable communication device.The information processing device, wherein the information processingdevice is an IC card.An information processing method including:

selecting, on the basis of first identification information included ina processing instruction and corresponding to a service, and firstassociation information in which the first identification information isassociated with second identification information for identifying anapplication, an application to perform the service corresponding to theprocessing instruction; and

causing the selected application to perform a process in accordance withthe processing instruction.

A program for causing a computer to execute:

selecting, on the basis of first identification information included ina processing instruction and corresponding to a service, and firstassociation information in which the first identification information isassociated with second identification information for identifying anapplication, an application to perform the service corresponding to theprocessing instruction; and

causing the selected application to perform a process in accordance withthe processing instruction.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A is an explanatory diagram illustrating a process in accordancewith an information processing method performed by an informationprocessing device in accordance with this embodiment;

FIG. 1B is an explanatory diagram illustrating a process in accordancewith an information processing method performed by an informationprocessing device in accordance with this embodiment;

FIG. 2 is an explanatory diagram illustrating a process in accordancewith an information processing method performed by an informationprocessing device in accordance with this embodiment;

FIG. 3 is an explanatory diagram showing an example of associationinformation in accordance with this embodiment in which service typeinformation is associated with first identification information;

FIG. 4 is an explanatory diagram showing an example of a processinginstruction including first identification information in accordancewith this embodiment;

FIG. 5 is an explanatory diagram showing an example of a processinginstruction including first identification information in accordancewith this embodiment;

FIG. 6 is an explanatory diagram showing an example of associationinformation in accordance with this embodiment in which firstidentification information is associated with second identificationinformation;

FIG. 7 is an explanatory diagram showing an example of a switchingprocess performed by an information processing device in accordance withthis embodiment;

FIG. 8 is a block diagram showing an exemplary configuration of aninformation processing device in accordance with this embodiment;

FIG. 9 is an explanatory diagram showing an exemplary configuration ofan information processing device in accordance with this embodiment; and

FIG. 10 is an explanatory diagram showing an example of a processperformed by an information processing device in accordance with thisembodiment.

DETAILED DESCRIPTION OF THE EMBODIMENTS

Hereinafter, preferred embodiments of the present disclosure will bedescribed in detail with reference to the appended drawings. Note that,in this specification and the appended drawings, structural elementsthat have substantially the same function and structure are denoted bythe same reference numerals, and repeated explanation of thesestructural elements is omitted.

Hereinafter, description will be made in the following order.

1. Information Processing Method in accordance with this Embodiment

2. Information Processing Device in accordance with this Embodiment

3. Program in accordance with this Embodiment

(Information Processing Method in accordance with this Embodiment)

Before describing the configuration of an information processing devicein accordance with this embodiment, an information processing method inaccordance with this embodiment will be described. Hereinafter,description will be made on the assumption that the informationprocessing device in accordance with this embodiment performs a processin accordance with the information processing method in accordance withthis embodiment.

FIG. 1A and FIG. 1B are explanatory diagrams each illustrating a processin accordance with the information processing method performed by theinformation processing device in accordance with this embodiment.Herein, FIG. 1A shows an overview of a configuration corresponding tothe aforementioned method of making an information processing devicesupport a plurality of communication methods or communication standards,and FIG. 1B shows an overview of a configuration corresponding to theaforementioned another method of making an information processing devicesupport a plurality of communication methods or communication standards.

For example, as shown in FIG. 1A, when an information processing devicehas two OSs: a “FeliCa® OS” (indicated by symbol A in FIG. 1A) and a“Java Card™ OS” (indicated by symbol B in FIG. 1A),” it becomes possibleto cause a single information processing device to perform each of aprocess corresponding to a communication method supporting the “FeliCa®OS” and a process corresponding to a communication method supporting the“Java Card™ OS.” However, in order to implement the configuration shownin FIG. 1A, two OSs: the “FeliCa® OS” and the “Java Card™ OS” should bemounted on the information processing device.

Examples of another method of making the information processing devicesupport a plurality of communication methods or communication standardsinclude a method in which, as shown in FIG. 1B, for example, thefunction of the “FeliCa® OS” (indicated by symbol A shown in FIG. 1A) isimplemented by an application having a function supporting the “FeliCa®OS” (indicated by symbol A′ in FIG. 1B).” In the example shown in FIG.1B, the function of the “FeliCa® OS” (indicated by symbol A in FIG. 1A)is implemented on the “Java Card™ OS.”

When the information processing device has a configuration in accordancewith another method of making the information processing device supporta plurality of communication methods or communication standards as shownin FIG. 1B, for example, it is desired that compatibility with theexisting NFC communication systems be ensured on the informationprocessing device side. This is because, as described above,readers/writers that allow NFC communication are widely spread in thesociety, and it is thus not easy to replace such widely spreadreaders/writers with new ones.

Herein, when the technology disclosed in JP 2011-118837A is used, forexample, there is a possibility that a communication system can beimplemented in which an information processing device that uses theaforementioned another method performs contactless communication with anexternal device such as a reader/writer, without replacing thereader/writer of the existing communication system with a new one.However, as described above, even when the technology disclosed in JP2011-118837A, for example, is used, it may not be always possible tocause an application (e.g., an application indicated by symbol A′ inFIG. 1B), which is capable of processing a processing instruction of adifferent communication method from a communication method supported bythe OS, to perform a process corresponding to a processing instructionreceived from the external device.

[Overview of Information Processing Method in Accordance with thisEmbodiment]

Herein, the information processing device in accordance with thisembodiment selects, on the basis of first identification information,which is included in a processing instruction transmitted from areader/writer (an example of an external device), is provided to a filesystem of the information processing device, for example, and can alsobe used to identify a service or a service provider, selects anapplication to perform a process related to a service corresponding tothe processing instruction (a selection process). Then, the informationprocessing device in accordance with this embodiment causes the selectedapplication to perform a process in accordance with the processinginstruction (an execution process).

Herein, examples of the first identification information in accordancewith this embodiment include IDm (manufacture ID) that the informationprocessing device in accordance with this embodiment stores into ROM(Read Only Memory). The information processing device in accordance withthis embodiment stores the IDm for each information processing device.Note that the first identification information in accordance with thisembodiment is not limited to the IDm. For example, the informationprocessing device in accordance with this embodiment can use as thefirst identification information data that can be transmitted to anexternal device in response to a received polling command and beincluded in a processing instruction transmitted from the externaldevice. Hereinafter, description will be made on the assumption that thefirst identification information in accordance with this embodiment isIDm.

In addition, the information processing device in accordance with thisembodiment, upon receiving a polling command (an example of a processinginstruction) transmitted from a reader/writer, for example, identifiesIDm (first identification information) that is included in the receivedpolling command, is provided to the file system of the informationprocessing device, for example, and corresponds to service typeinformation capable of identifying the type of a service or the serviceprovider. Then, the information processing device in accordance withthis embodiment transmits a response signal, which includes the IDmcorresponding to the service type information, in response to thepolling command, to the reader/writer that has transmitted the pollingcommand.

By receiving the response returned in response to the polling command,the reader/writer that has transmitted the polling command acquires theIDm (first identification information). In addition, in the existingcommunication system that performs NFC communication, the reader/writertransmits a processing instruction including IDm acquired through thetransmission of a polling command.

Herein, when the communication between the reader/writer and theinformation processing device is interrupted for some reason, there is apossibility that the reader/writer of the existing communication systemthat performs NFC communication may resume the communication from thestage interrupted last time without re-transmitting a polling command.In the existing communication system that performs NFC communication,when the reader/writer resumes the communication from the stageinterrupted last time, the reader/writer of the existing communicationsystem that performs NFC communication transmits a processinginstruction including IDm (first identification information).

Accordingly, even when the communication between the reader/writer ofthe existing communication system that performs NFC communication andthe information processing device in accordance with this embodiment isinterrupted for some reason, and the communication is resumed from thestage interrupted last time, the information processing device inaccordance with this embodiment can perform the aforementioned selectionprocess and execution process on the basis of a processing instructiontransmitted from the reader/writer.

[Example of Process in Accordance with Information Processing Method inAccordance with this Embodiment]

Hereinafter, a process in accordance with the information processingmethod in accordance with this embodiment will be described morespecifically. Note that hereinafter, description will be made of aprocess in accordance with the information processing method performedby the information processing device in accordance with this embodiment,with reference to an example in which the function of the “FeliCa® OS”(indicated by symbol A in FIG. 1A) is implemented on the “Java Care” OS”as shown in FIG. 1B, for example.

FIG. 2 is an explanatory diagram illustrating a process in accordancewith the information processing method performed by the informationprocessing device in accordance with this embodiment. Herein, symbol “F”shown in FIG. 2 indicates a file system. In addition, each IDm shownabove each symbol “F” in FIG. 2 indicates the IDm provided to each filesystem. In addition, though not shown in FIG. 2, each file system shownin FIG. 2 has service identification information provided thereto. Notethat hereinafter, an example in which an external device as acommunication target that communicates with the information processingdevice in accordance with this embodiment is a reader/writer will bedescribed.

(1) Determination Process

The information processing device in accordance with this embodimentdetermines a received processing instruction.

For example, upon receiving a polling command (an example of aprocessing instruction) transmitted from a reader/writer, theinformation processing device in accordance with this embodimentdetermines if the received polling command includes service typeinformation indicating the type of a service.

When the received polling command includes service type information, theinformation processing device in accordance with this embodimenttransmits IDm (first identification information) corresponding to theservice type information included in the polling command to thereader/writer (S102).

Herein, the information processing device in accordance with thisembodiment identifies the IDm (first identification information)corresponding to the service type information included in the pollingcommand, using association information (second association information)in which the service type information is associated with the firstidentification information, for example. FIG. 3 is an explanatorydiagram showing an example of the association information in accordancewith this embodiment in which the service type information is associatedwith the first identification information, and shows an exemplary tablein which the service type information (symbol A shown in FIG. 3) isassociated with the IDm (first identification information, symbol Bshown in FIG. 3).

The information processing device in accordance with this embodiment canuniquely identify IDm (first identification information) correspondingto the service type information included in the polling command receivedin step S100, that is, IDm (first identification information)corresponding to a service, using the table shown in FIG. 3, forexample. Note that the association information (second associationinformation) in accordance with this embodiment in which the servicetype information is associated with the first identification informationis not limited to the example shown in FIG. 3, and may be any form aslong as the service type information is associated with the firstidentification information.

(2) Selection Process

Referring again to FIG. 2, an example of a process in accordance withthe information processing method in accordance with this embodimentperformed by the information processing device in accordance with thisembodiment will be described. Upon receiving a processing instructionincluding IDm (first identification information) transmitted from areader/writer, the information processing device in accordance with thisembodiment determines the received processing instruction (S104). Morespecifically, the information processing device in accordance with thisembodiment determines if the received processing instruction includesIDm (first identification information).

FIGS. 4 and 5 are explanatory diagrams each showing an example of aprocessing instruction including the first identification information inaccordance with this embodiment. For example, as shown in FIGS. 4 and 5,a processing instruction including IDm (first identificationinformation) received by the information processing device in accordancewith this embodiment does not always have the same structure. This isbecause a processing instruction including the IDm can include asubcommand in some cases.

The information processing device in accordance with this embodimentreads the first 1 byte corresponding to “a command code (hereinafterreferred to as “CC”)” portion in the received processing instructionincluding IDm, for example, and determines the head of the IDm in theprocessing instruction on the basis of a character string of the readfirst 1 byte. More specifically, the information processing device inaccordance with this embodiment, if the first 1 byte of the read “CC”portion does not indicate a prescribed character string, determines thatthe processing instruction has the structure shown in FIG. 4. Meanwhile,the information processing device in accordance with this embodiment, ifthe first 1 byte of the read “CC” portion indicates a prescribedcharacter string, determines that the processing instruction has thestructure shown in FIG. 5, and then shifts the head of the IDm in theprocessing instruction by 1 byte from when the processing instruction isdetermined to have the structure shown in FIG. 4. Note that theaforementioned designation of the determined position can be adjusteddynamically as described above, for example, but it is also possible todesignate the value statically.

The information processing device in accordance with this embodiment, bydetermining the head of the IDm in the processing instruction asdescribed above, for example, determines if the processing instructionincludes the IDm (first identification information). Note that it isneedless to mention that the method of determining if the processinginstruction includes the IDm (first identification information) with theinformation processing device in accordance with this embodiment is notlimited to the aforementioned example.

Examples of the timing of performing determination using a commandincluding the IDm include performing determination only when aprocessing instruction is transmitted first time or n-th (n is any givennumber) time after an information processing device such as a card isbooted, for example, and performing determination each time. The timingof the aforementioned determination may be set in the informationprocessing device in accordance with this embodiment in advance, or set(changed) thereafter.

In addition, in determining each command including the service typeinformation and the IDm, it is possible to narrow down whether thecommand is the target command on the basis of the value of CC shown inFIG. 4, and in such a case, the number of processes performed can beefficiently reduced. For example, when the command is the aforementionedpolling command, the information processing device in accordance withthis embodiment can use only the service type information as the targetto be determined.

Referring again to FIG. 2, an example of a process in accordance withthe information processing method in accordance with this embodimentperformed by the information processing device in accordance with thisembodiment will be described. When the received processing instructionis determined to include the IDm (first identification information) instep S104, the information processing device in accordance with thisembodiment selects an application corresponding to the processinginstruction on the basis of the IDm (first identification information)included in the processing instruction.

More specifically, the information processing device in accordance withthis embodiment, on the basis of association information (firstassociation information) in which the first identification informationis associated with second identification information for identifying anapplication, selects an application corresponding to the processinginstruction. FIG. 6 is an explanatory diagram showing an example of theassociation information in accordance with this embodiment in which thefirst identification information is associated with the secondidentification information, and shows an exemplary table in which theIDm (first identification information, indicated by symbol A shown inFIG. 6) is associated with the second association information (indicatedby symbol B shown in FIG. 6). Examples of the second identificationinformation in accordance with this embodiment include anapplication-specific ID (hereinafter referred to as “AID”) as shown inFIG. 6, for example. Hereinafter, an example in which the secondidentification information in accordance with this embodiment is AIDwill be described.

The information processing device in accordance with this embodimentcan, using the table shown in FIG. 6, for example, uniquely identify thesecond identification information corresponding to the IDm (firstidentification information) included in the processing instructionreceived in step S104. Note that the association information (firstassociation information) in accordance with this embodiment in which thefirst identification information is associated with the secondidentification information is not limited to the example shown in FIG.6, and may be any form as long as the first identification informationis associated with the second identification information.

When the information processing device in accordance with thisembodiment selects an application corresponding to a processinginstruction, the information processing device maintains a state inwhich the selected application is being selected, for example. Bymaintaining the state in which the application is being selected, forexample, it becomes possible to, when the reader/writer sequentiallytransmits processing instructions, cause the selected application toperform a process without sequentially performing the process (2)(selection process). Herein, the state in which the selected applicationis being selected is maintained while the power is on, for example. Inaddition, when information is held while the selected application isbeing selected, there is a possibility that the held information may belost when the power is turned off.

When the information processing device in accordance with thisembodiment has a configuration shown in FIG. 1B, for example, theprocess (2) (selection process) can be realized using a “ReorganizationAlgorithm” in the CRS of the “Java Card Runtime Environment” shown inFIG. 1B. Note that it is needless to mention that the method ofimplementing the process (2) (selection process) of the informationprocessing device in accordance with this embodiment is not limited tothe aforementioned example.

(3) Execution Process

Referring again to FIG. 2, an example of a process in accordance withthe information processing method in accordance with this embodimentperformed by the information processing device in accordance with thisembodiment will be described. The information processing device inaccordance with this embodiment causes the application selected in theaforementioned process (2) to perform a process in accordance with theprocessing instruction (S106). More specifically, the informationprocessing device in accordance with this embodiment starts anapplication having AID that matches the AID (second identificationinformation) indicating the application selected in the aforementionedprocess (2), and causes the started application to perform a process inaccordance with the processing instruction. For example, upon receivinga processing instruction including IDm2, the information processingdevice in accordance with this embodiment causes the second applicationselected in the aforementioned process (2) to process the processinginstruction including the IDm2.

The information processing device in accordance with this embodiment, asa process in accordance with the information processing method inaccordance with this embodiment, performs the aforementioned process (1)(determination process) to the aforementioned process (3) (selectionprocess). In the aforementioned process (2) (selection process), theinformation processing device in accordance with this embodiment, on thebasis of IDm (first identification information) included in theprocessing instruction transmitted from a reader/writer, selects anapplication to perform a process corresponding to the processinginstruction. Then, the information processing device in accordance withthis embodiment, in the aforementioned process (3) (execution process),causes the selected application to perform a process in accordance withthe processing instruction.

Herein, the IDm (first identification information) included in theprocessing instruction transmitted from the reader/writer has beenacquired by the reader/writer from the information processing device inaccordance with this embodiment as a polling command has beentransmitted from the reader/writer and the aforementioned process (1)(determination process) has been performed with the informationprocessing device in accordance with this embodiment. In addition, theprocess related to a polling command between the reader/writer and theinformation processing device in accordance with this embodiment is alsoperformed in the existing communication system that performs NFCcommunication. Further, the reader/writer of the existing communicationsystem transmits a processing instruction including the Dm (firstidentification information) to the target communication device. That is,even when the information processing device in accordance with thisembodiment receives a processing instruction transmitted from thereader/writer of the existing communication system, the informationprocessing device can perform a process in accordance with theinformation processing method in accordance with this embodiment on thebasis of the received processing instruction.

Accordingly, a communication system having the information processingdevice in accordance with this embodiment need not replace thereader/writer of the existing communication system with a new one.

When the communication between the reader/writer and the informationprocessing device is interrupted for some reason, there is a possibilitythat the reader/writer of the existing communication system thatperforms NFC communication may resume the communication from the stageinterrupted last time without re-transmitting a polling command. Herein,in the existing communication system that performs NFC communication,when the reader/writer resumes the communication from the stageinterrupted last time, the reader/writer of the existing communicationsystem that performs NFC communication transmits a processinginstruction including IDm (first identification information). That is,the information processing device in accordance with this embodimentcan, without depending on whether or not the communication between thereader/writer of the existing communication system that performs NFCcommunication and the information processing device in accordance withthis embodiment is interrupted, receive a processing instructionincluding IDm (first identification information) and perform a processin accordance with the information processing method in accordance withthis embodiment.

Accordingly, when the information processing device in accordance withthis embodiment has a configuration in accordance with another method ofmaking the information processing device support a plurality ofcommunication methods or communication standards described above asshown in FIG. 1B, for example, it becomes possible to further increasethe possibility that the information processing device in accordancewith this embodiment can perform a process corresponding to a processinginstruction more normally than can the information processing device towhich the technology described in JP 2011-118837A is applied.

Thus, the information processing device in accordance with thisembodiment can cause an application, which is capable of processing aprocessing instruction of a different communication method from acommunication method supported by an operating system, to perform aprocess corresponding to a processing instruction received from anexternal device.

Note that a process in accordance with the information processing methodin accordance with this embodiment performed by the informationprocessing device in accordance with this embodiment is not limited tothe aforementioned example. When the communication between thereader/writer and the information processing device is interrupted forsome reason, there is a possibility that the reader/writer may resumethe communication from the stage interrupted last time withoutre-transmitting a polling command. In such a case, the informationprocessing device in accordance with this embodiment performs theaforementioned process (2) (selection process) and the aforementionedprocess (3) (execution process) as a process in accordance with theinformation processing method in accordance with this embodiment.

Further, as shown in FIG. 2, for example, when there exists a pluralityof applications (e.g., Java Card™ Applet) and there also exists aplurality of file systems, the information processing device inaccordance with this embodiment can switch between the file systems.Hereinafter, an example of a process performed by the informationprocessing device in accordance with this embodiment, which can switchbetween the file systems while ensuring high security, will bedescribed. Note that hereinafter, an example will be described in whichthe information processing device in accordance with this embodiment hasa selection unit (described below) that plays a leading role inperforming the aforementioned process (2) (selection process) and anexecution unit (described below) that plays a leading role in performingthe aforementioned process (3)(execution process).

[13] First Example of Switching Process

FIG. 7 is an explanatory diagram showing an example of a switchingprocess performed by the information processing device in accordancewith this embodiment. FIG. 7 shows an example in which a firstapplication is selected by the selection unit (described below) inaccordance with this embodiment.

Upon receiving a processing instruction including IDm3, the executionunit (described below) in accordance with this embodiment attempts tocause the selected first application to execute a process in accordancewith the processing instruction (S200). Herein, in the example shown inFIG. 7, the first application does not have a file system correspondingto the IDm3 included in the processing instruction.

As described above, when the selected application is not an applicationcorresponding to the processing instruction, the execution unit(described below) in accordance with this embodiment transmits aselection request to the selection unit (described below) in accordancewith this embodiment to select again an application corresponding to theprocessing instruction (S202). Herein, the selection request inaccordance with this embodiment includes, for example, IDm (firstidentification information) included in the processing instruction andAID (second identification information) indicating the selectedapplication. Note that the selection request in accordance with thisembodiment is not limited to the aforementioned example. For example,the selection request in accordance with this embodiment may be IDm(first identification information) included in the processinginstruction.

When the selection request is transmitted, the selection unit (describedbelow) in accordance with this embodiment selects again an applicationcorresponding to the processing instruction on the basis of the IDm(first identification information) included in the processinginstruction and association information (first association information)in which the first identification information is associated with thesecond identification information. Then, the execution unit (describedbelow) in accordance with this embodiment causes the re-selectedapplication to perform a process in accordance with the processinginstruction (S204). FIG. 7 shows an example in which a secondapplication including a file system of IDm3 is selected by the selectionunit (described below) in accordance with this embodiment, and then theexecution unit (described below) in accordance with this embodimentcauses the second application to perform a process in accordance withprocessing instruction.

Herein, for example, when the selection request is the IDm (firstidentification information) included in the processing instruction, theselection unit (described below) in accordance with this embodimentselects again an application corresponding to the processing instructionby identifying AID (second identification information) corresponding tothe IDm (first identification information) indicated by the selectionrequest, from the association information (first association informationin which the first identification information is associated with thesecond identification information).

As described above, when a selection request transmitted from anapplication to the selection unit in accordance with this embodiment isthe IDm (first identification information) included in the processinginstruction, the AID (second identification information) is hidden.Herein, the selection unit (described below) in accordance with thisembodiment can, if the IDm (first identification information) includedin the processing instruction is known, select an applicationcorresponding to the processing instruction by performing the process(2) (selection process) using the association information (firstassociation information) in which the first identification informationis associated with the second identification information. Meanwhile, forexample, units other than the selection unit (described below) inaccordance with this embodiment, such as other applications, cannotselect an application corresponding to the processing instruction evenif such units are able to acquire the IDm (first identificationinformation) included in the processing instruction.

Accordingly, when the selection request is the IDm (first identificationinformation) included in the processing instruction, unauthorizedtransfer of the processing instruction to other applications orunauthorized execution of other applications can be avoided within theinformation processing device in accordance with this embodiment. Thus,the information processing device in accordance with this embodiment canswitch between the file systems while ensuring high security bypreventing an event such as lowered security like impersonation, forexample.

Meanwhile, when the selection request includes AID (secondidentification information) indicating the selected application, forexample, the selection unit (described below) in accordance with thisembodiment selects, as the application to be selected, AID (secondidentification information) that satisfies predetermined conditions inrelation to the AID (second identification information) included in theselection request, among the AID (second identification information)included in the association information (first association information)in which the first identification information is associated with thesecond identification information. Examples of the predeterminedconditions herein include conditions of checking for a partial match ofthe AID such as whether the head 5 bytes of the AID (secondidentification information) match. By setting the conditions of checkingfor a partial match of the AID, for example, it becomes possible toselect an application in accordance with a service provided by theassociated service provider. Note that it is needless to mention thatthe predetermined conditions in accordance with this embodiment are notlimited to the aforementioned examples.

When the selection request includes the AID (second identificationinformation) indicating the selected application, the selection unit(described below) in accordance with this embodiment can select, as theapplication to be selected, not only an application having the matchingAID (second identification information) but also an application havingAID (second identification information) that satisfies predeterminedconditions. As described above, by selecting an application having AID(second identification information) that satisfies predeterminedconditions as the application to be selected, it becomes possible toswitch between the file systems while ensuring high security by limitingthe range of other applications to which the processing instruction canbe transferred.

[2] Second Example of Switching Process

Note that the switching process of the information processing device inaccordance with this embodiment is not limited to the first example. Forexample, in the information processing device in accordance with thisembodiment, the execution unit (described below) in accordance with thisembodiment can also perform a switching process. The execution unit(described below) in accordance with this embodiment, if the selectedapplication is not an application corresponding to the processinginstruction, determines if an application related to the selectedapplication can perform a process in accordance with the processinginstruction. Then, the execution unit (described below) in accordancewith this embodiment causes an application, which is determined to becapable of performing a process in accordance with the processinginstruction, to perform a process in accordance with the processinginstruction.

More specifically, examples of the switching process in accordance withthe second example performed by the information processing device inaccordance with this embodiment include the following methods (a) to(c), for example.

(a) Method of Using Security on GP (Global Platform)

The execution unit (described below) in accordance with this embodiment,for example, calls up (selects) an application from among applicationshaving privileges to cause it to perform a process corresponding to aprocessing instruction.

(b) First Method of Using Security on JCRE (Java Card RuntimeEnvironment)

The execution unit (described below) in accordance with this embodimentpermits, for example, only an application that is an instance generatedfrom the same package as the selected application (requestingapplication) to be called up. Then, the execution unit (described below)in accordance with this embodiment causes the called-up application(selected application) to perform a process corresponding to theprocessing instruction.

(c) Second Method Using Security on JCRE

The execution unit (described below) in accordance with this embodimentpermits only applications that have a server-client relationship (i.e.,having sharable objects) with the selected application (requestingapplication), for example, to be called up. Then, the execution unit(described below) in accordance with this embodiment causes thecalled-up application (selected application) to perform a processcorresponding to the processing instruction.

(Information Processing Device in Accordance with this Embodiment)

Next, an exemplary configuration of the information processing device inaccordance with this embodiment that can perform a process in accordancewith the information processing method in accordance with theaforementioned embodiment will be described. FIG. 8 is a block diagramshowing an exemplary configuration of the information processing device100 in accordance with this embodiment. FIG. 8 also shows areader/writer 200 (an example of an external device) that performscontactless communication with the information processing device 100.

The information processing device 100 includes, for example, acommunication unit 102, a storage unit 104, and a control unit 106.

The information processing device 100 may also include, for example, ROM(not shown), RAM (Random Access Memory, not shown), an operation unit(not shown) operable by a user, and a display unit (not shown) thatdisplays various screens on the display screen. The informationprocessing device 100 connects such components with a bus as a datatransmission channel.

Herein, the ROM (not shown) stores control data such as programs andoperation parameters used by the control unit 106. The RAM (not shown)temporarily stores programs and the like executed by the control unit106.

Examples of the operation unit (not shown) include, for example, abutton, a direction key, rotary selector such as a jog dial, and acombination of them. In addition, the information processing device 100can also connect to an operation input device (e.g., a keyboard or amouse) as an external device of the information processing device 100,for example.

Examples of the display unit (not shown) include a liquid crystaldisplay (LCD) and an organic EL display (an organic ElectroLuminescencedisplay, or also referred to as an OLED display (Organic Light EmittingDiode display)). The display unit (not shown) may be a device that candisplay information and be operated by a user, such as a touch screen,for example. The information processing device 100 can, regardless ofthe presence or absence of the display unit (not shown), connect to adisplay device (e.g., an external display) as an external device of theinformation processing device 100.

[Exemplary Hardware Configuration of the Information Processing Device100]

FIG. 9 is an explanatory diagram showing an exemplary configuration ofthe information processing device 100 in accordance with thisembodiment. Herein, FIG. 9 shows an exemplary configuration in which theinformation processing device 100 is an IC card.

The information processing device 100 includes a communication antenna150 capable of receiving a carrier wave, and an IC chip 152 thatdemodulates and processes a carrier signal on the basis of the receivedcarrier wave, and causes a response signal to be transmitted throughload modulation. Note that in the information processing device 100 inaccordance with this embodiment, the configuration of the IC chip 152need not be in the form of an IC chip.

The communication antenna 150 functions as the communication unit 102.The communication antenna 150 is constructed from a resonant circuitincluding, for example, a coil (inductor) L1 having predeterminedinductance and a capacitor C1 having predetermined capacitance, andgenerates an induced voltage through electromagnetic induction inresponse to the reception of a carrier wave. Then, the communicationantenna 150 outputs a received voltage obtained by resonating theinduced voltage at a predetermined resonance frequency. Herein, theresonance frequency at the communication antenna 150 is set inaccordance with the frequency of a carrier wave such as 13.56 MHz, forexample. The communication antenna 150, with the aforementionedconfiguration, receives a carrier wave, and transmits a response signalthrough load modulation performed at a load modulation circuit 164 ofthe IC chip 152.

The IC chip 152 includes a carrier detection circuit 154, a detectioncircuit 156, a regulator 158, a demodulation circuit 160, a MPU 162, anda load modulation circuit 164. Though not shown in FIG. 9, the IC chip152 may further include a protection circuit (not shown) for preventingovervoltage or overcurrent from being applied to the MPU 160, forexample. Herein, examples of the protection circuit (not shown) includea clamp circuit including diodes and the like.

The IC chip 152 includes, for example, ROM 166, RAM 168, and nonvolatilememory 170. The MPU 162, the ROM 166, the RAM 168, and the nonvolatilememory 170 are connected with a bus 172 as a data transmission channel,for example.

The ROM 166 stores control data such as programs and operationparameters used by the MPU 162. The RAM 168 temporarily stores programs,operation results, execution state, and the like executed by the MPU162.

The nonvolatile memory 170 functions as the storage unit 104, and storesvarious data such as association information (first associationinformation) in which the first identification information is associatedwith the second identification information, association information(second association information) in which the service type informationis associated with the first identification information, andapplications. Examples of the recording medium 156 include EEPROM(Electrically Erasable and Programmable Read Only Memory) and flashmemory.

The carrier detection circuit 154, on the basis of the received voltagetransmitted from the communication antenna 150, generates a rectangulardetection signal, and transmits the detection signal to the MPU 162. Inaddition, the MPU 162 uses the transmitted detection signal as aprocessing clock for data processing, for example. Herein, as thedetection signal is based on the received voltage transmitted from thecommunication antenna 150, the detection signal is synchronized with thefrequency of a carrier wave transmitted from the reader/writer 200.Thus, the IC chip 152 can, by having the carrier detection circuit 154,perform the process between the information processing device 100 andthe reader/writer 200 in synchronization with the reader/writer 200.

The detection circuit 156 rectifies the received voltage output from thecommunication antenna 150. Herein, the detection circuit 156 includes adiode D1 and a capacitor C2, for example.

The regulator 158 smoothes and regulates the received voltage, andoutputs the drive voltage to the MPU 162. Herein, the regulator 158 usesthe direct-current components of the received voltage as the drivevoltage.

The demodulation circuit 160 demodulates the carrier signal on the basisof the received voltage, and outputs data corresponding to the carriersignal included in the carrier wave (e.g., data signals with binaryvalues of high level and low level). Herein, the demodulation circuit160 outputs the alternating-current components of the received voltageas data.

The MPU 162 drives the drive voltage output from the regulator 158 aspower, and processes the data demodulated by the demodulation circuit160. In addition, the MPU 162, in the information processing device 100,functions as the control unit 106 that controls the entire informationprocessing device 100, and serves as, for example, the determinationunit 110, the selection unit 112, and the execution unit 114 describedbelow. Herein, the MPU 162 includes, for example, a MPU (MicroProcessing Unit), various processing circuits, and the like.

The MPU 162 selectively generates a control signal for controlling theload modulation related to a response to the reader/writer 299, inaccordance with the processing result. Then, the MPU 162 selectivelyoutputs the control signal to the load modulation circuit 164.

The load modulation circuit 164 includes, for example, a load Z and aswitch SW1, and performs load modulation by selectively connecting(activating) the load Z in accordance with a control signal transmittedfrom the MPU 162. Herein, the load Z includes, for example, a resistorwith a predetermined resistance value. In addition, the switch SW1includes, for example, a p-channel MOSFET (Metal Oxide SemiconductorField Effect Transistor) or an n-channel MOSFET.

The IC chip 152 can, with the aforementioned configuration, process acarrier signal received with the communication antenna 150, and cause aresponse signal to be transmitted to the communication antenna 150through load modulation.

The information processing device 100, by having the configuration shownin FIG. 9, for example, performs contactless communication with thereader/writer 200 using a carrier wave while performing the informationprocessing method in accordance with this embodiment.

Note that the hardware configuration of the information processingdevice 100 in accordance with this embodiment is not limited to theconfiguration shown in FIG. 9. For example, the information processingdevice 100 in accordance with this embodiment may further include acommunication device that communicates with an external device such as aserver wirelessly/by wire via a network (or directly). Examples of thecommunication device include a communication antenna and an RF (RadioFrequency) circuit (wireless communication); an IEEE 802.15.1 port and atransmitting/receiving circuit (wireless communication); an IEEE 802.11bport and a transmitting/receiving circuit (wireless communication); anda LAN (Local Area Network) terminal and a transmitting/receiving circuit(wire communication).

Referring again to FIG. 8, an exemplary configuration of the informationprocessing device 100 will be described. The communication unit 102 is acommunication means of the information processing device 100, andperforms contactless communication with an external device such as thereader/writer 200, using a carrier wave with a predetermined frequencysuch as 13.56 MHz, for example. In addition, communication of thecommunication unit 102 is controlled by the control unit 106, forexample. Examples of the communication unit 102 include thecommunication antenna 150 shown in FIG. 9, for example.

The storage unit 104 is a storage means of the information processingdevice 100, and stores various data such as association information(first association information) in which the first identificationinformation is associated with the second identification information,association information (second association information) in which theservice type information is associated with the first identificationinformation, and applications. FIG. 8 shows an example in which a firsttranslation table 120 (which corresponds to the first associationinformation) in which the IDm (first identification information) isassociated with the AID (second identification information), a secondtranslation table 122 (which corresponds to the second associationinformation) in which the SC (service type information) is associatedwith the IDm (first identification information), a first application124, and a second application 126 . . . are stored in the storage unit104.

Herein, examples of the storage unit (not shown) include a magneticrecording medium such as a hard disk and nonvolatile memory such asflash memory. In addition, the storage unit 104 may be, for example, atamper-resistant recording medium provided in an IC chip that canperform contactless communication with a reader/writer (or a devicehaving reader/writer functions) that transmits a carrier wave with apredetermined frequency such as 13.56 MHz, for example. Further, thestorage medium 104 may be configured to be removable from theinformation processing device 100.

The control unit 106 includes, for example, a MPU, and serves thefunction of controlling the entire information processing device 100. Inaddition, the control unit 106 includes, for example, the determinationunit 110, the selection unit 112, and the execution unit 114, and playsa leading role in performing a process in accordance with theinformation processing method in accordance with this embodiment.

The determination unit 110 plays a leading role in performing theaforementioned process (1) (determination process), and determines thereceived processing instruction. More specifically, the determinationunit 110, for example, determines if the received processing instructionincludes service type information, using a table (an example of thesecond association information) such as the one shown in FIG. 3. Whenthe received processing instruction includes service type information,the determination unit 110 causes the communication unit 102 to return aresponse including the IDm (first identification information)corresponding to the service type information included in the processinginstruction. Meanwhile, even when the received processing instructiondoes not include service type information, the determination unit 110transmits the processing instruction to the selection unit 112.

The selection unit 112 plays a leading role in performing theaforementioned process (2) (selection process), and selects anapplication to perform a process related to a service corresponding tothe received processing instruction. More specifically, the selectionunit 112 selects an application to perform a process related to aservice corresponding to the processing instruction, using a table suchas the one shown in FIG. 6 (an example of the first associationinformation), for example.

The execution unit 114 plays a leading role in performing theaforementioned process (3) (execution process), and causes theapplication selected by the selection unit 112 to perform a process inaccordance with the received processing instruction.

The control unit 106, by having the determination unit 110, theselection unit 112, and the execution unit 114, for example, plays aleading role in performing a process in accordance with the informationprocessing method in accordance with this embodiment.

Note that a process in accordance with the information processing methodin accordance with this embodiment performed by the control unit 106 inaccordance with this embodiment is not limited to the aforementionedexample. For example, the selection unit 112 and the execution unit 114can, by cooperatively performing a process, perform a switching processin accordance with the aforementioned first example. In addition, theexecution unit 114 may perform, for example, a switching process inaccordance with the aforementioned second example.

The information processing device 100, with the configuration shown inFIG. 8, for example, performs a process in accordance with theinformation processing method in accordance with this embodiment (e.g.,the process (1) (determination process) to the process (3) (executionprocess), or the process (2) (selection process) and the process (3)(execution process)). Thus, the information processing device 100 can,with the configuration shown in FIG. 8, for example, cause anapplication, which is capable of processing a processing instruction ofa different communication method from a communication method supportedby an operating system, to perform a process corresponding to aprocessing instruction received from an external device.

Note that the configuration of the information processing device inaccordance with this embodiment is not limited to the configurationshown in FIG. 8. For example, the information processing device inaccordance with this embodiment can have a configuration without thedetermination unit 110, that is, the information processing device inaccordance with this embodiment can have a configuration for performing,as a process in accordance with the information processing method inaccordance with this embodiment, the aforementioned process (2)(selection process) and the aforementioned process (3) (executionprocess). In such a case, the information processing device inaccordance with this embodiment may, for example, perform a process incooperation with another device or circuit that performs theaforementioned process (1) (determination process). In addition, theinformation processing device in accordance with this embodiment neednot have the communication unit 102, and in such a case, may perform aprocess in cooperation with another device or circuit that serves as thecommunication unit 102.

[Example of Process Performed by Information Processing Device 100]

Herein, an example of a process performed by the information processingdevice 100 will be described. FIG. 10 is an explanatory diagram showingan example of a process performed by the information processing device100 in accordance with this embodiment. FIG. 10 shows an example of aprocess when the information processing device 100 performs contactlesscommunication with the reader/writer 200 shown in FIG. 8.

The reader/writer 200 transmits a polling command (“Polling command”shown in FIG. 10, an example of a processing instruction) includingservice type information (e.g., indicated by symbol SC shown in FIG. 3)(S300).

The communication unit 102, upon receiving the polling commandtransmitted from the reader/writer 200 in step S300, transmits thereceived polling command to the determination unit 110 (S302).

The determination unit 110 performs the aforementioned process (1)(determination process) on the polling command transmitted in step S302(S304). In addition, the determination unit 110 may, for example,perform a process such as CRC (cyclic redundancy check). Herein, thepolling command includes service type information (e.g., symbol SC shownin FIG. 3). Accordingly, the determination unit 110 transmits to thecommunication unit 102 IDm (first identification information)corresponding to the service type information included in the pollingcommand (S306).

The communication unit 102 transmits the IDm (first identificationinformation) transmitted in step S306 as a response corresponding to thepolling command transmitted from the reader/writer 200 in step S300(S308).

The reader/writer 200, upon receiving the IDm (first identificationinformation) transmitted from the information processing device 100 instep S308, transmits a processing instruction (“Request Service command”shown in FIG. 10) including the received IDm (first identificationinformation) to the information processing device 100 (S310).

Though not shown in FIG. 10, after the reader/writer 200 receives theIDm (first identification information) in step S308, if thecommunication between the reader/writer 200 and the informationprocessing device 100 is interrupted for some reason, the reader/writer200 can perform the process of from step S310 without performing theprocess form step S300 again.

The communication unit 102, upon receiving the processing instructiontransmitted from the reader/writer 200 in step S310, transmits thereceived processing instruction to the determination unit 110 (S312).

The determination unit 110 performs the aforementioned process (1)(determination process) on the processing instruction transmitted instep S312 (S314). Herein, the processing instruction does not includethe service type information (e.g., symbol SC shown in FIG. 3).Accordingly, the determination unit 110 transmits the processinginstruction to the selection unit 112 (S316).

The selection unit 112 performs the aforementioned process (2)(selection process) on the processing instruction transmitted in stepS316 (S318). Then, the selection unit 112, for example, transmits to theexecution unit 114 the processing instruction and AID (secondidentification information) indicating the selected application (S320).

The execution unit 114 performs the aforementioned process (3)(execution process), and causes the selected application to execute theprocessing instruction transmitted in step S320 (S322). Then, theexecution unit 114, for example, transmits a response signal indicatingthe processing result to the communication unit 102 (S324).

The communication unit 102 transmits the response signal transmitted instep S324 as a response corresponding to the processing instructiontransmitted from the reader/writer 200 in step S310 (S326).

If the reader/writer 200, which has received the response signaltransmitted from the information processing device 100 in step S326,further transmits a processing instruction to the information processingdevice 100, the reader/writer 200 transmits the processing instructionto the information processing device 100 as in step S310. Then, theinformation processing device 100 again performs processes similar tothose in steps S312 to S326.

When the information processing device 100 receives a processinginstruction transmitted from the reader/writer 200, the informationprocessing device 100 performs the process shown in FIG. 10, forexample. Note that it is needless to mention that a process inaccordance with the information processing method in accordance withthis embodiment performed by the information processing device 100 inaccordance with this embodiment is not limited to the process shown inFIG. 10.

As described above, the information processing device in accordance withthis embodiment performs, as a process in accordance with theinformation processing method in accordance with this embodiment, theaforementioned process (1) (determination process) to the aforementionedprocess (3) (execution process), or the aforementioned process (2)(selection process) and the aforementioned process (3) (executionprocess), for example. In the aforementioned process (2) (selectionprocess), the information processing device in accordance with thisembodiment, on the basis of IDm (first identification information)included in a processing instruction transmitted from a reader/writer,selects an application to perform a process related to a servicecorresponding to the processing instruction. Then, the informationprocessing device in accordance with this embodiment, in theaforementioned process (3) (execution process), causes the selectedapplication to perform a process in accordance with the processinginstruction.

Herein, the IDm (first identification information) included in theprocessing instruction transmitted from the reader/writer has beenacquired by the reader/writer from the information processing device inaccordance with this embodiment as the aforementioned process (1)(determination process) has been performed with the informationprocessing device in accordance with this embodiment. In addition, aprocess related to a polling command between the reader/writer and theinformation processing device in accordance with this embodiment is alsoperformed by the existing communication system that performs NFCcommunication. Further, the reader/writer of the existing communicationsystem transmits a processing instruction including the IDm (firstidentification information) to a communication target device. That is,even when the information processing device in accordance with thisembodiment receives a processing instruction transmitted from thereader/writer of the existing communication system, the informationprocessing device can perform a process in accordance with theinformation processing method in accordance with this embodiment on thebasis of the received processing instruction.

Accordingly, in a communication system having the information processingdevice in accordance with this embodiment, the reader/writer of theexisting communication system need not be replaced with a new one.

When the communication between the reader/writer and the informationprocessing device is interrupted for some reason, there is a possibilitythat the reader/writer of the existing communication system thatperforms NFC communication may resume the communication from the stageinterrupted last time without re-transmitting a polling command. Herein,in the existing communication system that performs NFC communication,when the reader/writer resumes the communication from the stageinterrupted last time, the reader/writer of the existing communicationsystem that performs NFC communication transmits a processinginstruction including IDm (first identification information). That is,the information processing device in accordance with this embodimentcan, without depending on whether or not the communication between thereader/writer of the existing communication system that performs NFCcommunication and the information processing device in accordance withthis embodiment is interrupted, receive a processing instructionincluding IDm (first identification information) and perform a processin accordance with the information processing method in accordance withthis embodiment.

Accordingly, when the information processing device in accordance withthis embodiment has a configuration in accordance with another method ofmaking the information processing device support a plurality ofcommunication methods or communication standards as shown in FIG. 1B,for example, it becomes possible to further increase the possibilitythat the information processing device in accordance with thisembodiment can perform a process corresponding to a processinginstruction more normally than can the information processing device towhich the technology described in JP 2011-118837A is applied.

Thus, the information processing device in accordance with thisembodiment can cause an application, which is capable of processing aprocessing instruction of a different communication method from acommunication method supported by an operating system, to perform aprocess corresponding to a processing instruction received from anexternal device.

Although the information processing device 100 is described above asthis embodiment, this embodiment is not limited thereto. This embodimentcan be applied to various devices like, for example, a communicationdevice (or a portable communication device) such as a portable phone ora smartphone, an IC card, a video/music reproducing device (or avideo/music recording/reproducing device), a game machine, or a computersuch as a PC (Personal Computer).

(Program in Accordance with this Embodiment)

When a program for causing a computer to function as the informationprocessing device in accordance with this embodiment (e.g., a programthat can execute a process in accordance with the information processingmethod in accordance with this embodiment, such as the aforementionedprocess (1) (determination process) to the aforementioned process (3)(execution process), or the aforementioned process (2) (selectionprocess) and the aforementioned process (3) (execution process) isexecuted, it becomes possible to cause an application, which is capableof processing a processing instruction of a different communicationmethod from a communication method supported by an operating system, toperform a process corresponding to a processing instruction receivedfrom an external device.

A program in accordance with this embodiment can also be applied to aprogram that implements an execution environment for managing anapplication, such as “Java Card Runtime Environment” shown in FIG. 1B,for example.

Although the preferred embodiments of the present disclosure have beendescribed in detail with reference to the appended drawings, the presentdisclosure is not limited thereto. It is obvious to those skilled in theart that various modifications or variations are possible insofar asthey are within the technical scope of the appended claims or theequivalents thereof. It should be understood that such modifications orvariations are also within the technical scope of the presentdisclosure.

For example, the information processing device in accordance with thisembodiment can separately include the determination unit 110, theselection unit 112, and the execution unit 114 shown in FIG. 8 (by, forexample, implementing each unit using an individual processing circuit).

In addition, although it has been described that a program (a computerprogram) for causing a computer to function as the informationprocessing device in accordance with this embodiment is provided, thisembodiment can further provide a recording medium having the programstored therein.

The aforementioned configurations are merely illustrative of thisembodiment. Naturally, such configurations are within the technicalscope of the present disclosure.

1. An information processing device comprising: a selection unitconfigured to, on the basis of first identification information includedin a processing instruction and corresponding to a service, and firstassociation information in which the first identification information isassociated with second identification information for identifying anapplication, select an application to perform the service correspondingto the processing instruction; and an execution unit configured to causethe selected application to perform a process in accordance with theprocessing instruction.
 2. The information processing device accordingto claim 1, further comprising: a communication unit configured toperform contactless communication with an external device; and adetermination unit configured to determine the received processinginstruction, wherein the determination unit: determines if the receivedprocessing instruction includes service type information indicating atype of the service, and if the received processing instruction includesthe service type information, causes the communication unit to return areply including the first identification information corresponding tothe service type information included in the processing instruction onthe basis of the service type information included in the processinginstruction and second association information in which the service typeinformation is associated with the first identification information. 3.The information processing device according to claim 1, wherein when theselection unit has selected an application corresponding to theprocessing instruction, the selection unit maintains a state in whichthe selected application is selected, the execution unit, when theselected application is not an application corresponding to theprocessing instruction, transmits a selection request to the selectionunit to re-select an application corresponding to the processinginstruction, and the selection unit, when the selection request istransmitted, re-selects an application corresponding to the processinginstruction on the basis of the first identification informationincluded in the processing instruction and the first associationinformation.
 4. The information processing device according to claim 3,wherein the selection request includes second identification informationindicating the selected application, and the selection unit selects, asan application to be selected, an application indicated by secondidentification information that satisfies a predetermined condition inrelation to the second identification information included in theselection request, among second identification information included inthe first association information.
 5. The information processing deviceaccording to claim 3, wherein the selection request is the firstidentification information included in the processing instruction. 6.The information processing device according to claim 1, wherein theexecution unit, when the selected application is not an applicationcorresponding to the processing instruction: determines if anapplication related to the selected application is able to perform aprocess in accordance with the processing instruction, and causes theapplication determined to be able to perform a process in accordancewith the processing instruction to perform the process in accordancewith the processing instruction.
 7. The information processing deviceaccording to claim 1, wherein the information processing device is aportable communication device.
 8. The information processing deviceaccording to claim 1, wherein the information processing device is an ICcard.
 9. An information processing method comprising: selecting, on thebasis of first identification information included in a processinginstruction and corresponding to a service, and first associationinformation in which the first identification information is associatedwith second identification information for identifying an application,an application to perform the service corresponding to the processinginstruction; and causing the selected application to perform a processin accordance with the processing instruction.
 10. A program for causinga computer to execute: selecting, on the basis of first identificationinformation included in a processing instruction and corresponding to aservice, and first association information in which the firstidentification information is associated with second identificationinformation for identifying an application, an application to performthe service corresponding to the processing instruction; and causing theselected application to perform a process in accordance with theprocessing instruction.